unit UntFormDadosProdutoSemiJoia;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untBase, cxGraphics, cxLookAndFeels, cxLookAndFeelPainters, Menus,
  cxControls, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCoffee,
  dxSkinDarkRoom, dxSkinDarkSide, dxSkinFoggy, dxSkinGlassOceans,
  dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
  dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue,
  dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver,
  dxSkinPumpkin, dxSkinSeven, dxSkinSharp, dxSkinSilver, dxSkinSpringTime,
  dxSkinStardust, dxSkinSummer2008, dxSkinsDefaultPainters, dxSkinValentine,
  dxSkinXmas2008Blue, dxSkinscxPCPainter, cxContainer, cxEdit, cxImage,
  cxDBEdit, cxCheckBox, cxMaskEdit, cxDropDownEdit, cxLookupEdit,
  cxDBLookupEdit, cxDBLookupComboBox, cxLabel, cxTextEdit, cxGroupBox, cxPC,
  StdCtrls, cxButtons, ExtCtrls, AppEvnts;

type
  TfrmDadosProdutoSemiJoia = class(TfrmBase)
    pnlBotoes: TPanel;
    pnlConfirmarAlteracoes: TPanel;
    btnSalvar: TcxButton;
    pnlCentral: TPanel;
    pgcProduto_Semi_Joia_Detalhe: TcxPageControl;
    tbsDadosProdutoSemiJoia: TcxTabSheet;
    gbbDados_ProdutoSemiJoia: TcxGroupBox;
    edtData_CadastroProdutoSemiJoia: TcxDBTextEdit;
    edtCodigoBarraProdutoSemiJoia: TcxDBTextEdit;
    edtReferenciaSemiJoia: TcxDBTextEdit;
    lblData_CadastroProdutoSemiJoia: TcxLabel;
    lblCodigoBarra: TcxLabel;
    lblReferenciaSemiJoia: TcxLabel;
    lblGrupoSemiJoia: TcxLabel;
    cxLabel1: TcxLabel;
    lblDescricaoProdutoSemiJoia: TcxLabel;
    edtDescricaoProdutoSemiJoia: TcxDBTextEdit;
    lblDescricaoEtiquetaProdutoSemiJoia: TcxLabel;
    edtDescricaoEtiquetaProdutoSemiJoia: TcxDBTextEdit;
    lkpGrupoSemiJoia: TcxDBLookupComboBox;
    ckbBBProdutoSemiJoia: TcxDBCheckBox;
    ckbBAProdutoSemiJoia: TcxDBCheckBox;
    lkpFornecedorProdutoSemiJoia: TcxDBLookupComboBox;
    lblFornecedorProdutoSemiJoia: TcxLabel;
    gbbFotoProdutoSemiJoia_Dados: TcxGroupBox;
    cxDBImage3: TcxDBImage;
    tbsValoresProdutoSemiJoia: TcxTabSheet;
    gbbOutroProdutoSemiJoia: TcxGroupBox;
    edtValorCustoProdutoSemiJoia: TcxDBTextEdit;
    edtVMOProdutoSemiJoia: TcxDBTextEdit;
    edtPesoProdutoSemiJoia: TcxDBTextEdit;
    lblValorCustoProdutoSemiJoia: TcxLabel;
    lblVMOProdutoSemiJoia: TcxLabel;
    lblMLProdutoSemiJoia: TcxLabel;
    lblPesoProdutoSemiJoia: TcxLabel;
    edtValorVendaProdutoSemiJoia: TcxDBTextEdit;
    lblValorVendaProdutoSemiJoia: TcxLabel;
    edtMLProdutoSemiJoia: TcxDBTextEdit;
    edtMulProdutoSemiJoia: TcxDBTextEdit;
    lblMulProdutoSemiJoia: TcxLabel;
    edtFatorProdutoSemiJoia: TcxDBTextEdit;
    lblFatorProdutoSemiJoia: TcxLabel;
    lblEsEntradaProdutoSemiJoia: TcxLabel;
    edtEsEntradaProdutoSemiJoia: TcxDBTextEdit;
    lblEsMaxProdutoSemiJoia: TcxLabel;
    edtEsMaxProdutoSemiJoia: TcxDBTextEdit;
    lblEsMinProdutoSemiJoia: TcxLabel;
    edtEsMinProdutoSemiJoia: TcxDBTextEdit;
    lblEsAtualProdutoSemiJoia: TcxLabel;
    edtEsAtualProdutoSemiJoia: TcxDBTextEdit;
    gbbFotoProdutoSemiJoia: TcxGroupBox;
    cxDBImage1: TcxDBImage;
    procedure FormShow(Sender: TObject);
    procedure btnSalvarClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    vVisualizar : boolean;
    procedure EnabledTextEdit;
    { Public declarations }
  end;

var
  frmDadosProdutoSemiJoia: TfrmDadosProdutoSemiJoia;

implementation
uses untDataModule, UntFormProdutoSemiJoia;
{$R *.dfm}

{ TfrmDadosProdutoSemiJoia }

procedure TfrmDadosProdutoSemiJoia.btnSalvarClick(Sender: TObject);
begin
  inherited;
  DM.cdsProduto_Semi_Joia.Post;
  DM.cdsProduto_Semi_Joia.ApplyUpdates(-1);
  DM.cdsEstoque_Semi_Joia.ApplyUpdates(-1);
  DM.cdsFornecedor.Close;
end;

procedure TfrmDadosProdutoSemiJoia.EnabledTextEdit;
begin
  ckbBBProdutoSemiJoia.Enabled                := vVisualizar;
  ckbBAProdutoSemiJoia.Enabled                := vVisualizar;
  lkpGrupoSemiJoia.Enabled                    := vVisualizar;
  edtReferenciaSemiJoia.Enabled               := vVisualizar;
  edtCodigoBarraProdutoSemiJoia.Enabled       := vVisualizar;
  edtDescricaoProdutoSemiJoia.Enabled         := vVisualizar;
  edtDescricaoEtiquetaProdutoSemiJoia.Enabled := vVisualizar;
  lkpFornecedorProdutoSemiJoia.Enabled        := vVisualizar;
  edtPesoProdutoSemiJoia.Enabled              := vVisualizar;
  edtValorCustoProdutoSemiJoia.Enabled        := vVisualizar;
  edtVMOProdutoSemiJoia.Enabled               := vVisualizar;
  edtMLProdutoSemiJoia.Enabled                := vVisualizar;
  edtValorVendaProdutoSemiJoia.Enabled        := vVisualizar;
  edtMulProdutoSemiJoia.Enabled               := vVisualizar;
  edtFatorProdutoSemiJoia.Enabled             := vVisualizar;
  edtEsMaxProdutoSemiJoia.Enabled             := vVisualizar;
  edtEsMinProdutoSemiJoia.Enabled             := vVisualizar;
  btnSalvar.Enabled                           := vVisualizar;
end;

procedure TfrmDadosProdutoSemiJoia.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  DM.qAuxiliar.SQL.Clear;
  DM.cdsAuxiliar.Close;

  DM.cdsCategoria_Produto.Close;
end;

procedure TfrmDadosProdutoSemiJoia.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0;
    Perform(Wm_NextDlgCtl,0,0);
  end;
end;

procedure TfrmDadosProdutoSemiJoia.FormShow(Sender: TObject);
begin
  inherited;
  pgcProduto_Semi_Joia_Detalhe.ActivePage := tbsDadosProdutoSemiJoia;
  EnabledTextEdit;
  DM.cdsFornecedor.Close;
  DM.cdsFornecedor.Open;

  DM.cdsCategoria_Produto.Close;
  DM.cdsCategoria_Produto.Open;
  if frmProdutoSemiJoia.vTipo = 'Inserir' then
  begin
    DM.qAuxiliar.SQL.Clear;
    DM.qAuxiliar.SQL.Add('SELECT MAX(ID_PRODUTO_SEMI_JOIA) AS ID_PRODUTO_SEMI_JOIA FROM PRODUTO_SEMI_JOIA');
    DM.cdsAuxiliar.Close;
    DM.cdsAuxiliar.Open;
    DM.cdsProduto_Semi_Joia.Insert;
    DM.cdsProduto_Semi_JoiaID_PRODUTO_SEMI_JOIA.AsInteger := DM.cdsAuxiliar.Fields[0].AsInteger + 1;
  end;

end;

end.
